package cc.liyinghao.service;

import cc.liyinghao.param.UserRegisterParam;
import cc.liyinghao.common.pojo.SysUser;
import cc.liyinghao.response.LoginSuccessfulVo;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotEmpty;
import java.io.IOException;

public interface UserService {
    // 登录
    LoginSuccessfulVo login(@NotEmpty String username, @NotEmpty String password);

    // 通过用户名加载用户（判断用户存在）
    UserDetails loadUserByUsername(String username);

    // 通过用户名获取用户（查询数据库）
    SysUser getSysUserByUsername(String username);

    // 注册
    SysUser register(UserRegisterParam userRegisterParam);

    // 获取手机号验证验证码
    void getValidationPhoneNumberCode(String phoneNumber);

    /**
     * 更改头像地址
     */
    String updateAvatar(MultipartFile file, int userId) throws IOException;
}
